// Hooks

Assault.Hooks      = {}
Assault.Hooks.List = {}

// Add

function Assault.Hooks.Add(ID, Function)
	Assault.Hooks.List[ID] = Assault.Hooks.List[ID] or {}
	
	// Insert
	
	table.insert(Assault.Hooks.List[ID], Function)
end

// Call

function Assault.Hooks.Call(ID, ...)
	for K, V in pairs(Assault.Hooks.List) do
		if (K == ID) then
			for B, J in pairs(V) do
				local Fine, Error = pcall(J, unpack(arg))
				
				// Error
				
				if (!Fine) then
					print(Error)
				end
			end
		end
	end
end